package com.ruoyi.business.mapper;

import java.util.List;
import com.ruoyi.business.domain.JtAppUser;
import org.apache.ibatis.annotations.Param;

/**
 * APP用户Mapper接口
 * 
 * @author Alan Zhang
 * @date 2025-03-31
 */
public interface JtAppUserMapper 
{
    /**
     * 查询APP用户
     * 
     * @param userId APP用户主键
     * @return APP用户
     */
    public JtAppUser selectJtAppUserByUserId(Long userId);

    /**
     * 查询APP用户列表
     * 
     * @param jtAppUser APP用户
     * @return APP用户集合
     */
    public List<JtAppUser> selectJtAppUserList(JtAppUser jtAppUser);

    /**
     * 新增APP用户
     * 
     * @param jtAppUser APP用户
     * @return 结果
     */
    public int insertJtAppUser(JtAppUser jtAppUser);

    /**
     * 修改APP用户
     * 
     * @param jtAppUser APP用户
     * @return 结果
     */
    public int updateJtAppUser(JtAppUser jtAppUser);

    /**
     * 删除APP用户
     * 
     * @param userId APP用户主键
     * @return 结果
     */
    public int deleteJtAppUserByUserId(Long userId);

    /**
     * 批量删除APP用户
     * 
     * @param userIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteJtAppUserByUserIds(String[] userIds);

    /**
     * 通过手机号码查询用户
     *
     * @param phoneNumber 手机号码
     * @return 用户对象信息
     */
    public JtAppUser selectUserByPhoneNumber(String phoneNumber);

    /**
     * 通过邮箱查询用户
     *
     * @param email 邮箱
     * @return 用户对象信息
     */
    public JtAppUser selectUserByEmail(String email);

    /**
     * 校验手机号码是否唯一
     *
     * @param phonenumber 手机号码
     * @return 结果
     */
    public JtAppUser checkPhoneUnique(String phonenumber);

    /**
     * 校验email是否唯一
     *
     * @param email 用户邮箱
     * @return 结果
     */
    public JtAppUser checkEmailUnique(String email);

    /**
     * 统计 用户数
     * @return
     */
    public Long selectAppUserCount(@Param("beginCreateTime") String beginCreateTime, @Param("beginCreateTime") String endCreateTime);

}
